package be.atc.phh.dao;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;

import be.atc.antoine.beans.ListePlanUF;
import be.atc.antoine.beans.SectionSecteur;
import be.atc.antoine.beans.UF;
import be.atc.antoine.beans.UFOrga;
import be.atc.connection.ConnectionDB;
import be.atc.connection.DBConnection;
import be.atc.phh.dao.DaoUFOrga;

public class DaoUFOrgaImpl implements DaoUFOrga{
	
	private static final Logger log = Logger.getLogger(DaoUFOrgaImpl.class);

	private Connection con=null;
	private CallableStatement stmt = null;
	private UFOrga liste = null;
	
	public List<UFOrga> recupAllUFOrga(){
		List<UFOrga> retour = new ArrayList<UFOrga>();
		String qr="Call procedureTrouverAllUfOrganise()";
		con=DBConnection.getInstance();
		if(con!=null){
			try{
				stmt=con.prepareCall(qr);
				ResultSet rs=stmt.executeQuery();
				
				while(rs.next()){
					liste=new UFOrga();
					UF uf = new UF();
					SectionSecteur sec = new SectionSecteur();
					liste.setId(rs.getInt("ID_UF_Orga"));
					uf.setCode_uf(rs.getString("Code_UF"));
					uf.setNomUF(rs.getString("Nom_UF"));
					uf.setNbPeriodeUF(rs.getInt("Nb_Periode_UF"));
					sec.setId(rs.getString("ID_Section_Secteur"));
					sec.setLibelleSectionSecteur(rs.getString("Libelle_Section_Secteur"));
					liste.setCodeUF(uf);
					liste.setSectionSecteur(sec);
					retour.add(liste);
					
					}//fin while
				ConnectionDB.closeAll(rs, stmt);
				ConnectionDB.closeConnection();
				}catch(SQLException e){
					log.error("Erreur SQL recupListeUfOrgaDateEtNom:"+e);
				}//fin catch and try
				
		}//fin if	
			return retour;
		
	}
	

}
